checkPresent of compute remote checks inputs are available
authorJoey Hess <joeyh@joeyh.name>
Tue, 18 Mar 2025 17:55:33 +0000 (13:55 -0400)
committerJoey Hess <joeyh@joeyh.name>
Tue, 18 Mar 2025 18:13:13 +0000 (14:13 -0400)
commit70cb93a66bc2ee45cf9cb25875d3c96c34dd5b9e
treeece5291507db1505671e6e1d4db045d335469121
parent2466677b7b8b1d32496f9bd10fa6888362876f6d
checkPresent of compute remote checks inputs are available

If an input file has been lost from all repositories, it is no longer
possible to compute the output. This will avoid dropping content that
was computed in such a situation, as well as making git-annex fsck --from
the compute remote do its usual thing when content has gone missing.

This implementation avoids recursing forever if there is a cycle,
which should not be possible anyway.

Note the use of RemoteStateHandle as a constructor here suggests that
this may not handle sameas remotes right, since usually a
RemoteStateHandle is constructed using the sameas uuid for a sameas
remote. That assumes a compute remote can even have or be a sameas remote.
Which doesn't seem to make sense, so I have not thought through what might
happen here in detail.
Logs/Trust.hs
Logs/Trust/Basic.hs
Remote/Compute.hs
doc/todo/compute_special_remote_remaining_todos.mdwn